package com.qfoud.edu.framwork.stragy.base;

import com.qfoud.edu.framwork.pojo.BeanParameterDefinition;
import com.qfoud.edu.framwork.pojo.Model;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author xiaobobo
 * @title: ParameterTypeStragy
 * @projectName cd-java-2303-project-parent
 * @description: 这里是参数的类型策略
 * @date 2023/5/10  15:23
 */
public interface ParameterTypeStragy {

    /**
     * 最终执行的策略
     * @param beanParameterDefinition
     * @param req
     * @param index
     * @param parameterType
     * @param parameterName
     * @param args
     */
    void run(Model model, HttpServletResponse resp, BeanParameterDefinition beanParameterDefinition, HttpServletRequest req,
             int index, String parameterType, String parameterName, Object... args);
}
